#pragma once

#include "AdaptationMap.h"
#include "AdaptationType.h"

class Aircraft : public AdaptationType
{
public:
	std::string Name;
	unsigned short FClimb;
	unsigned short FDesc;
	unsigned short VClimbMin;
	unsigned short VClimbMax;
	unsigned short VClimb;
	unsigned short VDescMin;
	unsigned short VDescMax;
	unsigned short VDesc;
	unsigned short CruiseMin;
	unsigned short CruiseMax;
	unsigned short Cruise;
	float AccelMin;
	float AccelMax;
	float Accel;
	float DecelMin;
	float DecelMax;
	float Decel;
	float LevelMax;
	float LevelMin;
	float Level;
	unsigned char Wake;

	void ParseDictionary(Dictionary p_Dictionary);
	std::string Key();
	void Print();
};

class AircraftMap : public AdaptationMap<Aircraft>, public Singleton<AircraftMap>
{
	friend class Singleton<AircraftMap>;
private:
	AircraftMap();
};

